package com.ruoyi.project.modules.virtualUsageParamSource.service;

import java.util.List;
import com.ruoyi.project.modules.virtualUsageParamSource.domain.VirtualUsageParamSource;
import com.ruoyi.project.modules.virtualUsageParamSource.vo.ObjectParam;

/**
 * 虚拟用况入参来源Service接口
 * 
 * @author smallrain
 * @date 2022-03-31
 */
public interface IVirtualUsageParamSourceService 
{
    /**
     * 查询虚拟用况入参来源
     * 
     * @param virtualUsageParamSourceId 虚拟用况入参来源主键
     * @return 虚拟用况入参来源
     */
    public VirtualUsageParamSource selectVirtualUsageParamSourceByVirtualUsageParamSourceId(Long virtualUsageParamSourceId);

    /**
     * 查询虚拟用况入参来源列表
     * 
     * @param virtualUsageParamSource 虚拟用况入参来源
     * @return 虚拟用况入参来源集合
     */
    public List<VirtualUsageParamSource> selectVirtualUsageParamSourceList(VirtualUsageParamSource virtualUsageParamSource);

    /**
     * 新增虚拟用况入参来源
     * 
     * @param virtualUsageParamSource 虚拟用况入参来源
     * @return 结果
     */
    public int insertVirtualUsageParamSource(VirtualUsageParamSource virtualUsageParamSource);

    /**
     * 修改虚拟用况入参来源
     * 
     * @param virtualUsageParamSource 虚拟用况入参来源
     * @return 结果
     */
    public int updateVirtualUsageParamSource(VirtualUsageParamSource virtualUsageParamSource);

    /**
     * 批量删除虚拟用况入参来源
     * 
     * @param virtualUsageParamSourceIds 需要删除的虚拟用况入参来源主键集合
     * @return 结果
     */
    public int deleteVirtualUsageParamSourceByVirtualUsageParamSourceIds(String virtualUsageParamSourceIds);

    /**
     * 删除虚拟用况入参来源信息
     * 
     * @param virtualUsageParamSourceId 虚拟用况入参来源主键
     * @return 结果
     */
    public int deleteVirtualUsageParamSourceByVirtualUsageParamSourceId(Long virtualUsageParamSourceId);

    List<ObjectParam> objectParamList(Long interfaceId, String interfaceType, String isInParam, String objectType, Long sourceId);

    List<VirtualUsageParamSource> selectVirtualUsageParamSourceList2(VirtualUsageParamSource virtualUsageParamSource);

    void saveOutParamFieldSource(VirtualUsageParamSource virtualUsageParamSource);
}
